$(function() {
	ExchangeTable();
	
});

var ExchangeTable = function() {
	layui
			.use(
					[ 'laydate', 'laypage', 'layer', 'table', 'element'],
					function() {
						var laydate = layui.laydate // 日期
						, laypage = layui.laypage // 分页
						, layer = layui.layer // 弹层
						, table = layui.table // 表格
						, element = layui.element // 元素操作
						var form = layui.form;
						var $ = layui.jquery;
						// 执行一个 table 实例
						var exchangeTable = table.render({
							elem : '#ExchangeTable',
							url : 'exchange' // 数据接口
							,
							title : '交易品种费率表',
							page : true // 开启分页
							,
							limits : [ 5, 10, 15 ],
							toolbar : 'default' // 开启工具栏，此处显示默认图标，可以自定义模板，详见文档
							,
							cols : [ [ // 表头
							{
								type : 'checkbox',
								fixed : 'left'
							}, {
								field : 'exchangeId',
								title : 'ID',
								sort : true,
								fixed : 'left',
								totalRowText : '合计：'
							}, {
								field : 'exchangeName',
								title : '交易品种名'
							}, {
								field : 'StampDuty',
								title : '印花税',
								sort : true,
								totalRow : true
							}, {
								field : 'transferRate',
								title : '过户费',
								sort : true
							}, {
								field : 'HandlingFeeRate',
								title : '经手费',
								sort : true,
								totalRow : true
							}, {
								field : 'CollectionRate',
								title : '征管费'
							}, {
								field : 'description',
								title : '描述'
							} ] ]
						});

						// 监听头工具栏事件
						table
								.on(
										'toolbar(ExchangeTable)',
										function(obj) {
											var checkStatus = table
													.checkStatus(obj.config.id), data = checkStatus.data; // 获取选中的数据
											switch (obj.event) {
											case 'add':
												// 弹出新增模态框
												initAddExchangeModal();
												break;
											case 'update':
												if (data.length === 0) {
													layer.msg('请选择一行');
												} else if (data.length > 1) {
													layer.msg('只能同时编辑一个');
												} else {
													// 弹出修改模态框
													initUpdateExchangeModal(data);
												}
												break;
											case 'delete':
												if (data.length === 0) {
													layer.msg('请选择一行');
												} else {
													// 调用删除方法
													deleteExchange(data);
												}
												break;
											}
											;
										});

						// 初始化新增模态框
						var initAddExchangeModal = function() {
							// 弹出一个页面层
							layer.open({
								type : 1 // 基本层类型0~4，1为页面层
								,
								title : '添加资源' // 标题
								,
								area : [ '400px', '550px' ] // 宽高
								// 只写一个参数就是表示宽度，高度会自适应
								,
								content : $("#addExchangeModal") // 文本、html都行
								,
								anim : 0 // 弹出动画
								,
								resize : false // 是否允许拉伸
								,
								end : function() { // 弹出层销毁时的回调函数（不论何种方式，只要关闭了就执行）
									// 清空表单
									$("#addExchangeForm")[0].reset();
								}
							});

						}

						// 初始化修改模态框
						var initUpdateExchangeModal = function(data) {
							data = data[0];
							// 弹出一个页面层
							layer.open({
								type : 1 // 基本层类型0~4，1为页面层
								,
								title : '修改资源' // 标题
								,
								area : [ '400px', '550px' ] // 宽高
								// 只写一个参数就是表示宽度，高度会自适应
								,
								content : $("#updateExchangeModal") // 文本、html都行
								,
								anim : 0 // 弹出动画
								,
								resize : false // 是否允许拉伸
								,
								end : function() { // 弹出层销毁时的回调函数（不论何种方式，只要关闭了就执行）
									// 清空表单
									$("#updateExchangeForm")[0].reset();
								}
							});
							// 表单赋值
							form.val('updateExchangeForm', {
								"exchangeId" : data.exchangeId,
								"exchangeName" : data.exchangeName,
								"StampDuty" : data.StampDuty,
								"transferRate" : data.transferRate,
								"HandlingFeeRate" : data.HandlingFeeRate,
								"CollectionRate" : data.CollectionRate,
								"description" : data.description
							});
						}

						var deleteExchange = function(data) {
							var exchangeIds = "";
							for (var i = 0; i < data.length; i++) {
								exchangeIds += data[i].exchangeId + ",";
							}
							$.ajax({
								type : "POST",
								url : 'exchange/' + exchangeIds,
								data : {
									_method : 'DELETE',
								},
								success : function(data) {
									if (data == true) {
										layer.confirm('删除成功');
									} else {
										layer.confirm('删除失败');
									}
									// 刷新数据表格
									table.reload('ExchangeTable', {
										url : 'exchange'
									});
								}
							})
						}

						// 关闭模态框
						$(".modalClose").click(function() {
							// 关闭页面上所有类型的所有弹框
							layer.closeAll();
						});

						// 搜索框
						form.on('submit(exchangeSearchBtn)', function(data) {
							var data = data.field;
							// 执行后台代码
							exchangeTable.reload({
								where : { // 设定异步数据接口的额外参数，任意设
									"exchangeName" : data.exchangeName,
									"StampDuty" : data.StampDuty,
									"transferRate" : data.transferRate,
									"HandlingFeeRate" : data.HandlingFeeRate,
									"CollectionRate" : data.CollectionRate,
									"description" : data.description
								},
								page : {
									curr : 1
								}
							});
							return false; // 阻止表单跳转。如果需要表单跳转，去掉这段即可。
						});
						//添加
						var addExchange = function() {
							// 获取表单中填写的数据
							var addExchangeFormData = $("#addExchangeForm")
									.serialize();
							$.ajax({
								type : "POST",
								url : 'exchange',
								data : addExchangeFormData,
								success : function(data) {
									if (data == true) {
										// 刷新数据表格
										layer.closeAll();
										layer.confirm('添加成功');
									} else {
										layer.confirm('添加失败');
									}
									// 刷新数据表格
									table.reload('ExchangeTable', {
										url : 'exchange'
									});
								}
							});
							return false;
						}
						// 修改
						var updateExchange = function() {
							// 获取表单中填写的数据
							var updateExchangeFormData  = $(
									"#updateExchangeForm").serialize();
							$.ajax({
								type : "POST",
								url : 'exchange',
								data : updateExchangeFormData,
								success : function(data) {
									if (data == true) {
										// 刷新数据表格
										layer.closeAll();
										layer.confirm('修改成功');
									} else {
										layer.confirm('修改失败');
									}
									// 刷新数据表格
									table.reload('ExchangeTable', {
										url : 'exchange'
									});
								}
							});
							return false;
						}
						
						// 为添加按钮绑定事件
						$("#addExchange").click(addExchange);
						// 为修改按钮绑定事件
						$("#updateExchangeBtn").click(updateExchange);
					})

}
